//package lzzy.edu.cn.demothymeleaf.controller;
//
//import lzzy.edu.cn.demothymeleaf.entity.Student;
//import lzzy.edu.cn.demothymeleaf.service.StudentService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.domain.Page;
//import org.springframework.stereotype.Controller;
//import org.springframework.ui.Model;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.List;
//
//@Controller
//@ControllerAdvice
//public class StudentController {
//
//    // 自动注入StudentService实例
//    @Autowired
//    private StudentService studentService;
//
//    // 处理对“/student/all”路径的GET请求，用于获取所有学生的信息并显示
//    @GetMapping("/student/all")
//    public String all(Model model) {
//        // 调用studentService的findAll方法获取所有学生的列表
//        List<Student> students = studentService.findAll();
//        // 将学生列表添加到model中
//        model.addAttribute("students", students);
//        // 返回“student”视图名称
//        return "student";
//    }
//
//    // 处理对“/student/add”路径的GET请求，用于显示添加学生的页面
//    @GetMapping("/student/add")
//    public String add() {
//        // 返回“add”视图名称，用于显示添加学生的表单
//        return "add";
//    }
//
//    // 处理对“/student/add”路径的POST请求，用于接收添加学生表单的数据并执行添加操作
//    @PostMapping("/student/add")
//    public String addStudent(@RequestParam("name") String name,
//                             @RequestParam("age") Integer age) {
//        // 调用studentService的addStudent方法添加新的学生记录
//        studentService.addStudent(name, age);
//        // 添加成功后重定向到显示所有学生信息的页面
//        return "redirect:/student/all";
//    }
//
//    // 处理对“/student/update/{id}”路径的GET请求，用于显示更新学生信息的页面
//    @GetMapping("/student/update/{id}")
//    public String update(Model model, @PathVariable("id") Integer id) {
//        // 根据ID调用studentService的findById方法获取对应的学生信息
//        Student student = studentService.findById(id);
//        // 将学生信息添加到model中
//        model.addAttribute("student", student);
//        // 返回“update”视图名称
//        return "update";
//    }
//
//    // 处理对“/student/update/{id}”路径的POST请求，用于接收更新学生信息表单的数据
//    @PostMapping("/student/update/{id}")
//    public String updateStudent(@PathVariable("id") Integer id,
//                                @RequestParam("name") String name,
//                                @RequestParam("age") Integer age) {
//        // 调用studentService的updateStudent方法更新指定ID的学生记录
//        studentService.updateStudent(id, name, age);
//        // 更新成功后重定向到显示所有学生信息的页面
//        return "redirect:/student/all";
//    }
//
//    // 处理对“/student/delete/{id}”路径的GET请求，用于执行删除指定ID的学生记录的操作
//    @GetMapping("/student/delete/{id}")
//    public String delete(@PathVariable("id") Integer id) {
//        // 调用studentService的deleteStudentById方法删除指定ID的学生记录
//        studentService.deleteStudentById(id);
//        // 删除成功后重定向到显示所有学生信息的页面
//        return "redirect:/student/all";
//    }
//
//    // 使用@GetMapping注解定义一个处理GET请求的方法，映射的URL路径为/student/{page}，其中{page}为路径变量
//    @GetMapping("/Student/{page}")
//    public String page(Model model , @PathVariable("page") Integer page) {
//        Page<Student> studentPage = studentService.findAllByPage(page-1 ,2);
//
//        int totalPage = studentPage.getTotalPages();
//
//        List<Student> students = studentPage.getContent();
//
//        model.addAttribute("students", students);
//
//        // 将总页数添加到Model中，视图中可以用来构建分页导航条model.addAttribute("totalPages", totalPages);
//// 将当前页码添加到Model中，视图中可以用来标识当前页
//        model.addAttribute("page", page);
//// 返回视图名称为"student"，Spring MVC将根据这个名称找到对应的视图模板进行渲染
//        return "student";
//    }
//}
